package cn.wolfcode.crm.service;

import cn.wolfcode.crm.domain.Employee;
import cn.wolfcode.crm.query.QueryObject;
import cn.wolfcode.crm.util.PageResult;

import java.util.List;

public interface IEmployeeService {
    void saveOrUpdate(Employee record);

    Employee selectByPrimaryKey(Long id);

    List<Employee> selectAll();

    PageResult query(QueryObject qo);

    Boolean validateName(String username, Long id);

    /**
     * 根据ID设置离职状态
     * @param id
     */
    void changeState(Long id);

    void resetPassword(Long id);

    Employee selectByUsername(String principal);

    List<Employee> selectTeacher();
}
